Rank-Relaxed Weak Queues: Faster than Pairing and Fibonacci Heaps?
نویسنده
چکیده
A run-relaxed weak queue by Elmasry et al. (2005) is a priority queue data structure with insert and decrease-key in O(1) as well as delete and delete-min in O(log n) worst-case time. One further advantage is the small space consumption of 3n+O(log n) pointers. In this paper we propose rank-relaxed weak queues, reducing the number of rank violations nodes for each level to a constant, while providing amortized constant time for decrease-key. Compared to runrelaxed weak queues, the new structure additionally gains one pointer per node. An empirical evaluation shows that the implementation can outperform Fibonacci and pairing heaps in practice even on rather simple data types.
منابع مشابه
The Weak-Heap Family of Priority Queues in Theory and Praxis
In typical applications, a priority queue is used to execute a sequence of n insert , m decrease, and n delete-min operations, starting with an empty structure. We study the performance of different priority queues for this type of operation sequences both theoretically and experimentally. In particular, we focus on weak heaps, weak queues, and their relaxed variants. We prove that for relaxed ...
متن کاملAn empirical analysis of algorithmsfor constructing a minimum spanning treeBernard
We compare algorithms for the construction of a minimum spanning tree through large-scale experimentation on randomly generated graphs of diierent structures and diierent densities. In order to extrapolate with conndence, we use graphs with up to 130,000 nodes (sparse) or 750,000 edges (dense). Algorithms included in our experiments are Prim's algorithm (implemented with a variety of priority q...
متن کاملRelaxed Fibonacci heaps : An alternative to Fibonacci heaps with worst case rather than amortized time bounds ∗ Chandrasekhar
We present a new data structure called relaxed Fibonacci heaps for implementing priority queues on a RAM. Relaxed Fibonacci heaps support the operations find minimum, insert, decrease key and meld, each in O(1) worst case time and delete and delete min in O(log n) worst case time. Introduction The implementation of priority queues is a classical problem in data structures. Priority queues find ...
متن کاملHeaps Simplified
The heap is a basic data structure used in a wide variety of applications, including shortest path and minimum spanning tree algorithms. In this paper we explore the design space of comparison-based, amortized-efficient heap implementations. From a consideration of dynamic single-elimination tournaments, we obtain the binomial queue, a classical heap implementation, in a simple and natural way....
متن کاملRank-Pairing Heaps
We introduce the rank-pairing heap, a heap (priority queue) implementation that combines the asymptotic efficiency of Fibonacci heaps with much of the simplicity of pairing heaps. Unlike all other heap implementations that match the bounds of Fibonacci heaps, our structure needs only one cut and no other structural changes per key decrease; the trees representing the heap can evolve to have arb...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009